7个进行容器管理的Docker命令
介绍7个重要且实用的Docker命令。
Docker简介
Docker是个开源平台,用于构建、部署和运行容器中的应用程序,使开发人员能够创建独立、轻量级的容器,包含应用程序所需的所有内容。通过使用Docker,开发人员可以在不同环境中以一致的方式运行应用程序,提高开发和部署的效率和可靠性。
1 docker run
命令
docker run
命令是Docker中用于启动一个新的容器的命令,是使用Docker镜像创建和运行容器的主要方式。
以下是使用docker run
命令启动新容器并通过命令行与其进行交互的示例:
1) 首先,打开终端并输入以下命令以启动新容器:
docker run -it --name mycontainer ubuntu
这个命令会基于ubuntu
镜像启动一个新容器,并给它一个名称(mycontainer
)。-it
选项将终端连接到容器的标准输入和输出,以便您可以通过命令行与其进行交互。
2) 容器运行后,进入容器内部的shell提示符。可以像在常规终端中一样键入命令,例如,可以输入ls
命令来列出当前目录的内容:
ls
3) 还可以在容器内安装新软件或运行其他命令。例如,可以更新软件包索引并安装curl
软件包:
apt-get update
apt-get install curl
4) 在容器中完成工作后,可以通过输入exit
或按下CTRL-D
来退出容器。这将使终端与容器分离,并停止其运行。可以随时通过键入docker start mycontainer
来重新启动容器,并使用docker attach mycontainer
附加到它。
2 docker inspect
命令
docker inspect
命令用于获取有关容器、镜像、网络、卷等详细信息;它返回JSON格式的结果,包含有关指定对象的各种属性和配置信息,可以使用工具(如jq)或编程语言(如Python)来解析和处理这些信息。
以下是使用docker inspect
命令查看容器或镜像详细信息的示例:
1) 首先,打开终端并运行以下命令以列出所有正在运行的容器:
docker ps
这将显示您系统上所有正在运行的容器的列表,以及它们的ID。
2) 选择要检查的容器或镜像的ID,并运行以下命令:
docker inspect <container_or_image_id>
3) 将<container_or_image_id>
替换为要检查的容器或镜像的实际ID。例如,如果容器的ID是abcd1234
,将运行以下命令:
docker inspect abcd1234
4) docker inspect
命令将输出一个包含有关容器或镜像详细信息的JSON文档。这些信息包括容器的配置、网络设置和资源使用情况,以及镜像的元数据和历史记录。
5) 可以使用docker inspect
的输出来排除故障、了解容器或镜像的配置,甚至根据容器或镜像的元数据自动执行任务。
3 docker port
命令
docker port
命令是用于查看容器端口映射情况的命令,允许查看容器内部端口与宿主机上映射的端口之间的对应关系。
以下是使用docker port
命令列出容器端口映射的示例:
1) 首先,打开终端并运行以下命令以列出所有正在运行的容器:
docker ps
这将显示您系统上所有正在运行的容器的列表,以及它们的ID。
2) 选择要列出端口映射的容器的ID,并运行以下命令:
docker port <container_id>
3) 将<container_id>
替换为要列出端口映射的容器的实际ID。例如,如果容器的ID是abcd1234
,将运行以下命令:
docker port abcd1234
4) docker port
命令将输出容器的端口映射列表。每个映射包括容器的内部端口号和主机系统上相应的端口号。
5) 可以使用此信息从容器外部访问运行在容器内部的服务。例如,如果容器在端口80上运行Web服务器,并且docker port
命令显示端口80映射到主机系统上的端口8080,可以通过在Web浏览器中导航至http://localhost:8080
来访问Web服务器。
4 docker stats
命令
docker stats
命令是用于实时监视运行中容器资源使用情况的。它提供了一个类似于系统监视器的界面,显示了各个容器的CPU使用率、内存占用、网络流量等信息。
以下是使用docker stats
命令查看一个或多个容器的资源使用统计信息的示例:
1) 首先,打开终端并运行以下命令以列出所有正在运行的容器:
docker ps
这将显示您系统上所有正在运行的容器的列表,以及它们的ID。
2) 选择要查看资源使用统计信息的容器或容器的ID,并运行以下命令:
docker stats <container_id>
3) 将<container_id>
替换为要查看资源使用统计信息的容器的实际ID。例如,如果容器的ID是abcd1234
,将运行以下命令:
docker stats abcd1234
4) 还可以指定多个容器ID,以一次查看所有容器的资源使用统计信息。例如:
docker stats abcd1234 efgh5678
5) docker stats
命令将持续输出指定容器或容器的资源使用统计信息。统计信息包括CPU使用率、内存使用率、网络I/O和块I/O等内容。
6) 可以使用此信息来监视容器的性能和资源使用情况,并排除与资源利用相关的问题。
5 docker top
命令
docker top
命令用于查看容器内部运行的进程列表。它类似于Unix中的top命令,可以显示容器中正在运行的进程以及与之相关的详细信息。
以下是使用docker top
命令查看容器内部运行的进程的示例:
1)首先,打开终端并运行以下命令以列出所有正在运行的容器:
docker ps
这将显示您系统上所有正在运行的容器的列表,以及它们的ID。
2) 选择要查看其进程的容器的ID,并运行以下命令:
docker top <container_id>
3) 将<container_id>
替换为要查看其进程的容器的实际ID。例如,如果容器的ID是abcd1234
,将运行以下命令:
docker top abcd1234
4) docker top
命令将输出一个包含容器内部运行的进程列表的结果,同时提供有关它们资源利用情况的信息,如CPU和内存使用情况。
5) 可以使用此信息来排除与容器内部进程相关的问题,或了解容器的运行情况以及哪些进程使用了最多的资源。
6 docker save
命令
docker save
命令是Docker中用于将镜像保存为压缩的存档文件的命令,允许将一个或多个Docker镜像打包成一个可导入到其他Docker环境中的单个文件。
以下是使用docker save
命令将镜像保存为tar存档的示例:
1)首先,打开终端并运行以下命令以列出系统上所有可用的镜像:
docker images
这将显示系统上所有可用的镜像列表,包括它们的仓库、标签和大小。
2) 选择要保存为tar存档的镜像,并运行以下命令:
docker save -o <output_file_name>.tar <image_name>
3) 将<output_file_name>
替换为要为tar存档文件指定的名称,将<image_name>
替换为要保存的镜像的名称。例如,如果要将名为myimage:latest
的镜像保存为名为myimage_latest.tar
的tar存档,将运行以下命令:
docker save -o myimage_latest.tar myimage:latest
4)docker save
命令将在当前目录中创建指定镜像的tar存档。
5) 随后可以使用此tar存档将镜像移动到其他系统,或者为了备份目的而存储。
7 docker load
命令
docker load
命令用于加载从docker save
命令导出的镜像存档文件的命令,允许将以先前导出的格式保存的镜像存档文件导入到本地的Docker环境中。
以下是使用docker load
命令从tar存档中加载镜像的示例:
1)首先,打开终端并导航到包含镜像的tar存档的目录。
2)运行以下命令从tar存档中加载镜像:
docker load -i <archive_file_name>.tar
3) 将<archive_file_name>
替换为包含镜像的tar存档文件的名称。
4) 例如,如果tar存档文件名为myimage_latest.tar
,将运行以下命令:
docker load -i myimage_latest.tar
5) docker load
命令将从tar存档中导入镜像,并在您的系统上创建一个新的镜像。
6) 可以通过运行以下命令验证已导入镜像:
docker images
这将显示系统上所有可用的镜像列表,包括新导入的镜像。
推荐书单
《名师讲坛:Java微服务架构实战(SpringBoot+SpringCloud+Docker+RabbitMQ)》
Java微服务架构是当下流行的软件架构设计方案,可以快速地进行代码编写与开发,维护起来也非常方便。利用微架构技术,可以轻松地实现高可用、分布式、高性能的项目结构开发,同时也更加安全。 《名师讲坛:Java微服务架构实战(SpringBoot+SpringCloud+Docker+RabbitMQ)》一共15章,核心内容为SpringBoot、SpringCloud、Docker、RabbitMQ消息组件。其中,SpringBoot 是SpringMVC技术的延伸,使用它进行程序开发会更简单,服务整合也会更容易。SpringCloud是当前微架构的核心技术方案,属于SpringBoot的技术延伸,它可以整合云服务,基于RabbitMQ和GITHUB进行微服务管理。除此以外,该书还重点分析了OAuth统一认证服务的应用。 《名师讲坛:Java微服务架构实战(SpringBoot+SpringCloud+Docker+RabbitMQ)》适用于从事Java开发且有架构与项目重构需求的读者,也适用于相关技术爱好者,同时也可作为应用型高等院校及培训机构的学习教材。
【半价促销中】:https://item.jd.com/12793864.html
精彩回顾
使用Spring Boot和Rust生成二维码的性能比较(附代码)